// the keywords
var reserve = ["in", "by"];
var actions = ["click", "input", "rclick", "dblclick",
	"movein", "moveout", "scroll", "select", 'jumpto', 'refresh'];
var macros = ['#CLOCK', '#TIMES', '#INTERVAL', '#SCREEN'];

var keywords = ['wait', 'assert', 'log', 'console', 'var', 'process',
'return'].concat(reserve).concat(actions).concat(macros);

module.exports = function(hljs) {
    hljs.registerLanguage('lemoncase', function() {
		return {
	        aliases: ['lc', 'lc2', 'lemoncase'],
	        keywords: {
	            keyword: keywords.join(' '),
	            literal: 'true false null undefined NaN Infinity'
	        },
	        contains: [
	            hljs.APOS_STRING_MODE,
	            hljs.QUOTE_STRING_MODE,
	            hljs.C_LINE_COMMENT_MODE,
	            hljs.C_BLOCK_COMMENT_MODE,
	            {
	                className: 'number',
	                begin: hljs.C_NUMBER_RE,
	                relevance: 0
	            }, {
	                className: 'function',
	                beginKeywords: 'process',
	                end: /\{/,
	                excludeEnd: true,
	            }
	        ]
	    };
	})
};
